package br.com.commerj.dao;

import java.sql.SQLException;
import java.sql.Types;

import br.com.commerj.model.Pessoa;

public class PessoaDAO extends DAO{
	
	public String salvar(Pessoa pessoa) throws SQLException{
		String msg = "";
		p = null;
		c = null;
		try{
			String sql = "INSERT INTO pessoa VALUES(?,?,?,?,?)";
			p = getConnection().prepareStatement(sql);
			p.setNull(1, Types.NULL);
			p.setString(2, pessoa.getNome());
			p.setString(3, pessoa.getRg());
			p.setString(4, pessoa.getCpf());
			p.setInt(5, pessoa.getEndereco().getCodEndereco());			
			p.execute();
			c.commit();
			msg = "SALVAR";
		}catch (SQLException e) {
			msg = "Erro no método salvar() PessoaDAO \n" + e.getMessage();
		}finally{
			try{
				if(p != null)
					p.close();
				if(c != null)
					c.close();
				}catch (SQLException e) {
					System.out.println("Erro ao fechar PESSOADAO "+e.getMessage());
				}
		}
		return msg;
	}
	
	public Integer lastId() throws SQLException{
		Integer lastId = 0;
		p = null;
		c = null;
		try{
			String sql = "SELECT MAX(codPessoa) as codPessoa from pessoa"; 
			p = getConnection().prepareStatement(sql);
			r = p.executeQuery();
			if(r.next())
				lastId = r.getInt(1);
			p.execute();
			c.commit();
			
		}finally{
			try{
				if(p != null)
					p.close();
				if(c != null)
					c.close();
				if(r != null)
					r.close();
				}catch (SQLException e) {
					System.out.println("Erro ao fechar Conexão + PESSOADAO "+e.getMessage());
				}
		}	
		return lastId;
	}
	
	
}
